#ifndef _CALIBRATE_OBJ_
#define _CALIBRATE_OBJ_

#include "..\include\tempCalib.h"

#include "publictype.h"
#include "..\include\object.h"

DLL_API void STDCALL GetIntrinsicParamsCarmera(List_PointCoord* pImgPoint, List_PointCoord* pWorldPoint, CameraParams* pCalibrateParams);

DLL_API void STDCALL GetExtrinsicParamsCarmera(List_PointCoord* pImgPoint, List_PointCoord* pWorldPoint, CameraParams* pCalibrateParams);

DLL_API void STDCALL GetCornerPointOnTarget();

void  CalHomographyMatrix(List_PointCoord* pImgPoint, List_PointCoord* pWorldPoint, double* HMatrix);

void GetVMatrix(double* HMatrix, List_double* VMatrix);

void GetInitIntriParams(List_double* VMatrix, CameraParams* pCalibrateParams);

void GetInitExtriParams(List_PointCoord* pWorldPoint, List_DoubleDouble* SumHomoMatrix,CameraParams* pCalibrateParams,  List_double* RTMatrix);

void OptimazationParams(List_PointCoord* pWorldPoint, List_PointCoord* pImgPoint, List_double* optimaParam, CameraParams* pCalibrateParams);

#ifdef UPPROCESS
#ifndef CALIBRATEOBJECT_IMPLEMENT
#pragma comment(lib,"..\\..\\..\\PUBLIC\\SOFT\\CalibrateObject.lib")
#endif
#endif

#endif  //CALIBRATEOBJECT